home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FM Towns: Free Software Collection 8
/
FM Towns Free Software Collection 8.iso
/
t_os
/
otohime
/
src
/
otohime.c
< prev
next >
Wrap
Text File
|
1994-06-01
|
5KB
|
222 lines
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <winb.h>
#include <te.h>
#include <fntb.h>
#include <gui.h>
#include <file_dlg.h>
#include <egb.h>
#include <mos.h>
#include <snd.h>
char *guiEgbPtr ; /* EGB のワークアドレス */
char guiSndPtr[16*1024] ; /* SND のワークアドレス */
void main()
{
extern int APL_init() ;
extern int startSet() ; /* buffer確保その他の関数 */
MMICTRL ctrl ;
/* 致命的エラーハンドラの登録 */
FM_SetVector() ;
/* サウンドの初期化 */
SND_init(guiSndPtr) ;
/* 初期化処理 */
ctrl.page0 = 3 ;
ctrl.page1 = 3 ;
ctrl.writePage = 0 ;
ctrl.displayPage = 1 ;
ctrl.priority = 0 ;
ctrl.mode = 0 ;
ctrl.width = 512 ;
ctrl.size = 0 ;
ctrl.ptr = NULL ;
ctrl.asize = 0 ;
ctrl.aptr = NULL ;
ctrl.fr.lupx = 0 ;
ctrl.fr.lupy = 0 ;
ctrl.fr.rdwx = 639 ;
ctrl.fr.rdwy = 479 ;
ctrl.move.lupx = 0 ;
ctrl.move.lupy = 20 ; /* ダイアログの移動範囲に制限を付ける(y座標) */
ctrl.move.rdwx = 639 ;
ctrl.move.rdwy = 479 ;
ctrl.white = 15 ;
ctrl.black = 8 ; /* パレット変更に伴いGUIの表示色を変更(黒) */
ctrl.gray = 7 ; /* 〃 (灰色) */
ctrl.xor = 7 ; /* 〃 (反転色) */
if (MMI_Open( &ctrl ) == NOERR)
{
/* 初期化に成功すればメインループに入る. */
if (APL_init() == NOERR)
{
FDG_SaveCurDir() ; /* カレントディレクトリ保存 */
FDG_InitFileDlg() ; /* ファイルダイアログ初期化 */
if( startSet() == NOERR )
MMI_ExecSystem() ; /* メインのイベントループ */
FDG_FreeFileDlg() ; /* ファイルダイアログ終了処理 */
FDG_RecovCurDir() ; /* カレントディレクトリ復元 */
}
MMI_SendMessage( MMI_GetBaseObj(), MM_ERASE, 0 ) ;
}
/* 終了処理 */
MMI_Close() ;
/* サウンドの終了 */
SND_end() ;
/* 致命的エラーハンドラの復帰 */
FM_ResetVector() ;
}
int APL_init()
{
extern int setPalette( char * ) ; /* パレット設定関数 */
extern int mItemId[] ;
extern MMIINIT initDataIOTABOU ;
extern MMIINIT initDataIOTDSK ;
extern MMIINIT initDataIOTERR ;
extern MMIINIT initDataIOTMIX ;
extern MMIINIT initDataIOTPHA ;
extern MMIINIT initDataIOTREC ;
extern MMIINIT initDataIOTINF ;
extern MMIINIT initDataIOTECH ;
extern MMIINIT initDataIOTVIB ;
extern MMIINIT initDataIOTTRE ;
extern MMIINIT initDataIOTVOI ;
extern MMIINIT initDataIOTEXP ;
extern MMIINIT initDataIOTLEV ;
extern MMIINIT initDataIOTPCH ;
extern MMIINIT initDataIOTSMP ;
extern MMIINIT initDataIOTHED ;
extern MMIINIT initDataIOTFAD ;
extern MMIINIT initDataIOTHAR ;
register int ret ;
/* EGB ワークアドレスの取得. */
guiEgbPtr = MMI_GetEgbPtr() ;
/* ハイパ型部品の初期化 */
if ((ret = MMI_initHyper()) < 0)
return ret ;
/* ダイアログ型部品の初期化 */
if ((ret = MMI_initDialogL40()) < 0)
return ret ;
/* アラート型部品の初期化 */
if ((ret = MMI_initAlertL40()) < 0)
return ret ;
/* メッセージ型部品の初期化 */
if ((ret = MMI_initMessageL40()) < 0)
return ret ;
/* メニュー型部品の初期化 */
if ((ret = MMI_initMenuL40()) < 0)
return ret ;
/* ボタン型部品の初期化 */
if ((ret = MMI_initButtonL40()) < 0)
return ret ;
/* ドロウボタン型部品の初期化 */
if ((ret = MMI_initDrawButtonL40()) < 0)
return ret ;
/* アイコンボタン型部品の初期化 */
if ((ret = MMI_initIconL40()) < 0)
return ret ;
/* メニューアイテム型部品の初期化 */
if ((ret = MMI_initMenuItemL40()) < 0)
return ret ;
/* スクロール型部品の初期化 */
if ((ret = MMI_initScrollBarL40()) < 0)
return ret ;
/* テキスト型部品の初期化 */
if ((ret = MMI_initTextL40()) < 0)
return ret ;
/* リストメニュー型部品の初期化 */
if ((ret = MMI_initListMenuL40()) < 0)
return ret ;
/* 数値入力型部品の初期化 */
if ((ret = MMI_initNumBoxL40()) < 0)
return ret ;
/* デフォルトビジュアルイフェクトの登録 */
MMI_SetUpVisualEffect() ;
/* パレット変更 */
ret = setPalette( guiEgbPtr ) ;
/* 背景データの初期化 */
/* データの登録 */
if ((ret = MMI_Init(&initDataIOTABOU)) < 0)
return ret ;
if ((ret = MMI_Init(&initDataIOTDSK)) < 0)
return ret ;
if ((ret = MMI_Init(&initDataIOTERR)) < 0)
return ret ;
if ((ret = MMI_Init(&initDataIOTMIX)) < 0)
return ret ;
if ((ret = MMI_Init(&initDataIOTPHA)) < 0)
return ret ;
if ((ret = MMI_Init(&initDataIOTREC)) < 0)
return ret ;
if ((ret = MMI_Init(&initDataIOTINF)) < 0)
return ret ;
if ((ret = MMI_Init(&initDataIOTECH)) < 0)
return ret ;
if ((ret = MMI_Init(&initDataIOTVIB)) < 0)
return ret ;
if ((ret = MMI_Init(&initDataIOTTRE)) < 0)
return ret ;
if ((ret = MMI_Init(&initDataIOTVOI)) < 0)
return ret ;
if ((ret = MMI_Init(&initDataIOTEXP)) < 0)
return ret ;
if ((ret = MMI_Init(&initDataIOTLEV)) < 0)
return ret ;
if ((ret = MMI_Init(&initDataIOTPCH)) < 0)
return ret ;
if ((ret = MMI_Init(&initDataIOTSMP)) < 0)
return ret ;
if ((ret = MMI_Init(&initDataIOTHED)) < 0)
return ret ;
if ((ret = MMI_Init(&initDataIOTFAD)) < 0)
return ret ;
if ((ret = MMI_Init(&initDataIOTHAR)) < 0)
return ret ;
/* SIDEWORKメニューの登録 */
ret = MMI_SetUpSDKMenu( mItemId[0], 2 ) ;
/* 背景を表示する */
MMI_SendMessage(MMI_GetBaseObj(), MM_SHOW, 0) ;
return NOERR ;
}